func (r *AWSKinesisAnalyticsApplication) MarshalJSON() ([]byte, error) {
	type Properties AWSKinesisAnalyticsApplication
	return json.Marshal(&struct {
		Type       string
		Properties Properties
	}{
		Type:       r.AWSCloudFormationType(),
		Properties: (Properties)(*r),
	})
}
MarshalJSON is a custom JSON marshalling hook that embeds this object into
an AWS CloudFormation JSON resource's 'Properties' field and adds a 'Type'.
package cloudformation
import (
	"encoding/json"
	"errors"
	"fmt"
)
type AWSKinesisAnalyticsApplication struct {
	ApplicationCode string `json:"ApplicationCode,omitempty"`
	ApplicationDescription string `json:"ApplicationDescription,omitempty"`
	ApplicationName string `json:"ApplicationName,omitempty"`
	Inputs []AWSKinesisAnalyticsApplication_Input `json:"Inputs,omitempty"`
}
func (r *AWSKinesisAnalyticsApplication) AWSCloudFormationType() string {
	return "AWS::KinesisAnalytics::Application"
}