// UnmarshalJSON sets the object from the provided JSON representation
491984
func (l *S3BucketRoutingRuleConditionList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := S3BucketRoutingRuleCondition{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = S3BucketRoutingRuleConditionList{item}
		return nil
	}
	list := []S3BucketRoutingRuleCondition{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = S3BucketRoutingRuleConditionList(list)
		return nil
	}
	return err
}
105677
func (l *AutoScalingScalingPolicyMetricDimensionList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := AutoScalingScalingPolicyMetricDimension{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = AutoScalingScalingPolicyMetricDimensionList{item}
		return nil
	}
	list := []AutoScalingScalingPolicyMetricDimension{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = AutoScalingScalingPolicyMetricDimensionList(list)
		return nil
	}
	return err
}
450173
func (l *KinesisFirehoseDeliveryStreamBufferingHintsList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := KinesisFirehoseDeliveryStreamBufferingHints{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = KinesisFirehoseDeliveryStreamBufferingHintsList{item}
		return nil
	}
	list := []KinesisFirehoseDeliveryStreamBufferingHints{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = KinesisFirehoseDeliveryStreamBufferingHintsList(list)
		return nil
	}
	return err
}
788768
func (l *AutoScalingScalingPolicyCustomizedMetricSpecificationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := AutoScalingScalingPolicyCustomizedMetricSpecification{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = AutoScalingScalingPolicyCustomizedMetricSpecificationList{item}
		return nil
	}
	list := []AutoScalingScalingPolicyCustomizedMetricSpecification{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = AutoScalingScalingPolicyCustomizedMetricSpecificationList(list)
		return nil
	}
	return err
}
1289958
func (l *DirectoryServiceMicrosoftADVPCSettingsList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := DirectoryServiceMicrosoftADVPCSettings{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = DirectoryServiceMicrosoftADVPCSettingsList{item}
		return nil
	}
	list := []DirectoryServiceMicrosoftADVPCSettings{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = DirectoryServiceMicrosoftADVPCSettingsList(list)
		return nil
	}
	return err
}
1171805
func (l *EMRInstanceGroupConfigConfigurationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EMRInstanceGroupConfigConfiguration{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EMRInstanceGroupConfigConfigurationList{item}
		return nil
	}
	list := []EMRInstanceGroupConfigConfiguration{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EMRInstanceGroupConfigConfigurationList(list)
		return nil
	}
	return err
}
1141280
func (l *EMRInstanceGroupConfigMetricDimensionList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EMRInstanceGroupConfigMetricDimension{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EMRInstanceGroupConfigMetricDimensionList{item}
		return nil
	}
	list := []EMRInstanceGroupConfigMetricDimension{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EMRInstanceGroupConfigMetricDimensionList(list)
		return nil
	}
	return err
}
60698
func (l *AutoScalingScalingPolicyPredefinedMetricSpecificationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := AutoScalingScalingPolicyPredefinedMetricSpecification{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = AutoScalingScalingPolicyPredefinedMetricSpecificationList{item}
		return nil
	}
	list := []AutoScalingScalingPolicyPredefinedMetricSpecification{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = AutoScalingScalingPolicyPredefinedMetricSpecificationList(list)
		return nil
	}
	return err
}
1078376
func (l *EMRInstanceGroupConfigScalingActionList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EMRInstanceGroupConfigScalingAction{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EMRInstanceGroupConfigScalingActionList{item}
		return nil
	}
	list := []EMRInstanceGroupConfigScalingAction{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EMRInstanceGroupConfigScalingActionList(list)
		return nil
	}
	return err
}
378420
func (l *EC2SpotFleetInstanceNetworkInterfaceSpecificationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EC2SpotFleetInstanceNetworkInterfaceSpecification{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EC2SpotFleetInstanceNetworkInterfaceSpecificationList{item}
		return nil
	}
	list := []EC2SpotFleetInstanceNetworkInterfaceSpecification{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EC2SpotFleetInstanceNetworkInterfaceSpecificationList(list)
		return nil
	}
	return err
}
1112570
func (l *AutoScalingPlansScalingPlanTagFilterList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := AutoScalingPlansScalingPlanTagFilter{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = AutoScalingPlansScalingPlanTagFilterList{item}
		return nil
	}
	list := []AutoScalingPlansScalingPlanTagFilter{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = AutoScalingPlansScalingPlanTagFilterList(list)
		return nil
	}
	return err
}
176712
func (l *EC2SpotFleetEbsBlockDeviceList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EC2SpotFleetEbsBlockDevice{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EC2SpotFleetEbsBlockDeviceList{item}
		return nil
	}
	list := []EC2SpotFleetEbsBlockDevice{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EC2SpotFleetEbsBlockDeviceList(list)
		return nil
	}
	return err
}
1121859
func (l *AutoScalingPlansScalingPlanPredefinedScalingMetricSpecificationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := AutoScalingPlansScalingPlanPredefinedScalingMetricSpecification{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = AutoScalingPlansScalingPlanPredefinedScalingMetricSpecificationList{item}
		return nil
	}
	list := []AutoScalingPlansScalingPlanPredefinedScalingMetricSpecification{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = AutoScalingPlansScalingPlanPredefinedScalingMetricSpecificationList(list)
		return nil
	}
	return err
}
871584
func (l *EMRClusterScalingTriggerList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EMRClusterScalingTrigger{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EMRClusterScalingTriggerList{item}
		return nil
	}
	list := []EMRClusterScalingTrigger{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EMRClusterScalingTriggerList(list)
		return nil
	}
	return err
}
1354824
func (l *EC2SpotFleetSpotFleetMonitoringList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EC2SpotFleetSpotFleetMonitoring{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EC2SpotFleetSpotFleetMonitoringList{item}
		return nil
	}
	list := []EC2SpotFleetSpotFleetMonitoring{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EC2SpotFleetSpotFleetMonitoringList(list)
		return nil
	}
	return err
}
217871
func (l *APIGatewayAPIKeyStageKeyList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := APIGatewayAPIKeyStageKey{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = APIGatewayAPIKeyStageKeyList{item}
		return nil
	}
	list := []APIGatewayAPIKeyStageKey{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = APIGatewayAPIKeyStageKeyList(list)
		return nil
	}
	return err
}
1070531
func (l *CloudFrontDistributionGeoRestrictionList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := CloudFrontDistributionGeoRestriction{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = CloudFrontDistributionGeoRestrictionList{item}
		return nil
	}
	list := []CloudFrontDistributionGeoRestriction{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = CloudFrontDistributionGeoRestrictionList(list)
		return nil
	}
	return err
}