// UnmarshalJSON sets the object from the provided JSON representation
505959
func (l *KinesisFirehoseDeliveryStreamKMSEncryptionConfigList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := KinesisFirehoseDeliveryStreamKMSEncryptionConfig{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = KinesisFirehoseDeliveryStreamKMSEncryptionConfigList{item}
		return nil
	}
	list := []KinesisFirehoseDeliveryStreamKMSEncryptionConfig{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = KinesisFirehoseDeliveryStreamKMSEncryptionConfigList(list)
		return nil
	}
	return err
}
37973
func (l *APIGatewayStageMethodSettingList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := APIGatewayStageMethodSetting{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = APIGatewayStageMethodSettingList{item}
		return nil
	}
	list := []APIGatewayStageMethodSetting{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = APIGatewayStageMethodSettingList(list)
		return nil
	}
	return err
}
385847
func (l *SSMAssociationInstanceAssociationOutputLocationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := SSMAssociationInstanceAssociationOutputLocation{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = SSMAssociationInstanceAssociationOutputLocationList{item}
		return nil
	}
	list := []SSMAssociationInstanceAssociationOutputLocation{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = SSMAssociationInstanceAssociationOutputLocationList(list)
		return nil
	}
	return err
}
428399
func (l *CloudFrontDistributionDefaultCacheBehaviorList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := CloudFrontDistributionDefaultCacheBehavior{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = CloudFrontDistributionDefaultCacheBehaviorList{item}
		return nil
	}
	list := []CloudFrontDistributionDefaultCacheBehavior{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = CloudFrontDistributionDefaultCacheBehaviorList(list)
		return nil
	}
	return err
}
976360
func (l *APIGatewayRestAPIS3LocationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := APIGatewayRestAPIS3Location{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = APIGatewayRestAPIS3LocationList{item}
		return nil
	}
	list := []APIGatewayRestAPIS3Location{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = APIGatewayRestAPIS3LocationList(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
}
141080
func (l *WAFRegionalXSSMatchSetFieldToMatchList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := WAFRegionalXSSMatchSetFieldToMatch{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = WAFRegionalXSSMatchSetFieldToMatchList{item}
		return nil
	}
	list := []WAFRegionalXSSMatchSetFieldToMatch{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = WAFRegionalXSSMatchSetFieldToMatchList(list)
		return nil
	}
	return err
}
181750
func (l *APIGatewayDomainNameEndpointConfigurationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := APIGatewayDomainNameEndpointConfiguration{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = APIGatewayDomainNameEndpointConfigurationList{item}
		return nil
	}
	list := []APIGatewayDomainNameEndpointConfiguration{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = APIGatewayDomainNameEndpointConfigurationList(list)
		return nil
	}
	return err
}
803494
func (l *EMRInstanceGroupConfigEbsConfigurationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EMRInstanceGroupConfigEbsConfiguration{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EMRInstanceGroupConfigEbsConfigurationList{item}
		return nil
	}
	list := []EMRInstanceGroupConfigEbsConfiguration{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EMRInstanceGroupConfigEbsConfigurationList(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
}
83672
func (l *ElasticLoadBalancingV2LoadBalancerSubnetMappingList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := ElasticLoadBalancingV2LoadBalancerSubnetMapping{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = ElasticLoadBalancingV2LoadBalancerSubnetMappingList{item}
		return nil
	}
	list := []ElasticLoadBalancingV2LoadBalancerSubnetMapping{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = ElasticLoadBalancingV2LoadBalancerSubnetMappingList(list)
		return nil
	}
	return err
}
1263211
func (l *EMRInstanceGroupConfigVolumeSpecificationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EMRInstanceGroupConfigVolumeSpecification{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EMRInstanceGroupConfigVolumeSpecificationList{item}
		return nil
	}
	list := []EMRInstanceGroupConfigVolumeSpecification{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EMRInstanceGroupConfigVolumeSpecificationList(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
}
486335
func (l *ElasticLoadBalancingV2TargetGroupTargetDescriptionList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := ElasticLoadBalancingV2TargetGroupTargetDescription{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = ElasticLoadBalancingV2TargetGroupTargetDescriptionList{item}
		return nil
	}
	list := []ElasticLoadBalancingV2TargetGroupTargetDescription{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = ElasticLoadBalancingV2TargetGroupTargetDescriptionList(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
}
1363445
func (l *WAFXSSMatchSetFieldToMatchList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := WAFXSSMatchSetFieldToMatch{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = WAFXSSMatchSetFieldToMatchList{item}
		return nil
	}
	list := []WAFXSSMatchSetFieldToMatch{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = WAFXSSMatchSetFieldToMatchList(list)
		return nil
	}
	return err
}
22455
func (l *EMRClusterApplicationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EMRClusterApplication{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EMRClusterApplicationList{item}
		return nil
	}
	list := []EMRClusterApplication{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EMRClusterApplicationList(list)
		return nil
	}
	return err
}