// UnmarshalJSON sets the object from the provided JSON representation
961704
func (l *S3BucketSourceSelectionCriteriaList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := S3BucketSourceSelectionCriteria{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = S3BucketSourceSelectionCriteriaList{item}
		return nil
	}
	list := []S3BucketSourceSelectionCriteria{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = S3BucketSourceSelectionCriteriaList(list)
		return nil
	}
	return err
}
679953
func (l *AutoScalingAutoScalingGroupLifecycleHookSpecificationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := AutoScalingAutoScalingGroupLifecycleHookSpecification{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = AutoScalingAutoScalingGroupLifecycleHookSpecificationList{item}
		return nil
	}
	list := []AutoScalingAutoScalingGroupLifecycleHookSpecification{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = AutoScalingAutoScalingGroupLifecycleHookSpecificationList(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
}
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
}
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
}
393027
func (l *AutoScalingPlansScalingPlanMetricDimensionList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := AutoScalingPlansScalingPlanMetricDimension{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = AutoScalingPlansScalingPlanMetricDimensionList{item}
		return nil
	}
	list := []AutoScalingPlansScalingPlanMetricDimension{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = AutoScalingPlansScalingPlanMetricDimensionList(list)
		return nil
	}
	return err
}
1146060
func (l *EMRInstanceGroupConfigEbsBlockDeviceConfigList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EMRInstanceGroupConfigEbsBlockDeviceConfig{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EMRInstanceGroupConfigEbsBlockDeviceConfigList{item}
		return nil
	}
	list := []EMRInstanceGroupConfigEbsBlockDeviceConfig{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EMRInstanceGroupConfigEbsBlockDeviceConfigList(list)
		return nil
	}
	return err
}
955273
func (l *EMRClusterMetricDimensionList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EMRClusterMetricDimension{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EMRClusterMetricDimensionList{item}
		return nil
	}
	list := []EMRClusterMetricDimension{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EMRClusterMetricDimensionList(list)
		return nil
	}
	return err
}
1171840
func (l *APIGatewayUsagePlanQuotaSettingsList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := APIGatewayUsagePlanQuotaSettings{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = APIGatewayUsagePlanQuotaSettingsList{item}
		return nil
	}
	list := []APIGatewayUsagePlanQuotaSettings{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = APIGatewayUsagePlanQuotaSettingsList(list)
		return nil
	}
	return err
}
440865
func (l *CloudFrontDistributionS3OriginConfigList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := CloudFrontDistributionS3OriginConfig{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = CloudFrontDistributionS3OriginConfigList{item}
		return nil
	}
	list := []CloudFrontDistributionS3OriginConfig{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = CloudFrontDistributionS3OriginConfigList(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
}
1221087
func (l *EMRClusterSpotProvisioningSpecificationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EMRClusterSpotProvisioningSpecification{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EMRClusterSpotProvisioningSpecificationList{item}
		return nil
	}
	list := []EMRClusterSpotProvisioningSpecification{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EMRClusterSpotProvisioningSpecificationList(list)
		return nil
	}
	return err
}
480057
func (l *IoTThingAttributePayloadList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := IoTThingAttributePayload{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = IoTThingAttributePayloadList{item}
		return nil
	}
	list := []IoTThingAttributePayload{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = IoTThingAttributePayloadList(list)
		return nil
	}
	return err
}
6353
func (l *WAFRegionalXSSMatchSetXSSMatchTupleList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := WAFRegionalXSSMatchSetXSSMatchTuple{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = WAFRegionalXSSMatchSetXSSMatchTupleList{item}
		return nil
	}
	list := []WAFRegionalXSSMatchSetXSSMatchTuple{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = WAFRegionalXSSMatchSetXSSMatchTupleList(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
}
615342
func (l *SSMAssociationS3OutputLocationList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := SSMAssociationS3OutputLocation{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = SSMAssociationS3OutputLocationList{item}
		return nil
	}
	list := []SSMAssociationS3OutputLocation{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = SSMAssociationS3OutputLocationList(list)
		return nil
	}
	return err
}
1315996
func (l *EC2SpotFleetInstanceIPv6AddressList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EC2SpotFleetInstanceIPv6Address{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EC2SpotFleetInstanceIPv6AddressList{item}
		return nil
	}
	list := []EC2SpotFleetInstanceIPv6Address{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EC2SpotFleetInstanceIPv6AddressList(list)
		return nil
	}
	return err
}