// UnmarshalJSON sets the object from the provided JSON representation
489218
func (l *S3BucketSseKmsEncryptedObjectsList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := S3BucketSseKmsEncryptedObjects{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = S3BucketSseKmsEncryptedObjectsList{item}
		return nil
	}
	list := []S3BucketSseKmsEncryptedObjects{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = S3BucketSseKmsEncryptedObjectsList(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
}
528671
func (l *CloudWatchAlarmDimensionList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := CloudWatchAlarmDimension{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = CloudWatchAlarmDimensionList{item}
		return nil
	}
	list := []CloudWatchAlarmDimension{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = CloudWatchAlarmDimensionList(list)
		return nil
	}
	return err
}
1212824
func (l *SESReceiptRuleAddHeaderActionList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := SESReceiptRuleAddHeaderAction{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = SESReceiptRuleAddHeaderActionList{item}
		return nil
	}
	list := []SESReceiptRuleAddHeaderAction{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = SESReceiptRuleAddHeaderActionList(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
}
884060
func (l *KinesisAnalyticsApplicationKinesisStreamsInputList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := KinesisAnalyticsApplicationKinesisStreamsInput{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = KinesisAnalyticsApplicationKinesisStreamsInputList{item}
		return nil
	}
	list := []KinesisAnalyticsApplicationKinesisStreamsInput{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = KinesisAnalyticsApplicationKinesisStreamsInputList(list)
		return nil
	}
	return err
}
859955
func (l *KinesisFirehoseDeliveryStreamElasticsearchRetryOptionsList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := KinesisFirehoseDeliveryStreamElasticsearchRetryOptions{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = KinesisFirehoseDeliveryStreamElasticsearchRetryOptionsList{item}
		return nil
	}
	list := []KinesisFirehoseDeliveryStreamElasticsearchRetryOptions{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = KinesisFirehoseDeliveryStreamElasticsearchRetryOptionsList(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
}
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
}
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
}
918730
func (l *EMRInstanceGroupConfigCloudWatchAlarmDefinitionList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := EMRInstanceGroupConfigCloudWatchAlarmDefinition{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = EMRInstanceGroupConfigCloudWatchAlarmDefinitionList{item}
		return nil
	}
	list := []EMRInstanceGroupConfigCloudWatchAlarmDefinition{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = EMRInstanceGroupConfigCloudWatchAlarmDefinitionList(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
}
875837
func (l *WAFRegionalSizeConstraintSetFieldToMatchList) UnmarshalJSON(buf []byte) error {
	// Cloudformation allows a single object when a list of objects is expected
	item := WAFRegionalSizeConstraintSetFieldToMatch{}
	if err := json.Unmarshal(buf, &item); err == nil {
		*l = WAFRegionalSizeConstraintSetFieldToMatchList{item}
		return nil
	}
	list := []WAFRegionalSizeConstraintSetFieldToMatch{}
	err := json.Unmarshal(buf, &list)
	if err == nil {
		*l = WAFRegionalSizeConstraintSetFieldToMatchList(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
}
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
}
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
}
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
}