func AppMeshFromACS(proxyConfig *ecsacs.ProxyConfiguration) (*AppMesh, error) {

	if *proxyConfig.Type != appMesh {
		return nil, fmt.Errorf("agent does not support proxy type other than app mesh")
	}

	return &AppMesh{
		ContainerName:      aws.StringValue(proxyConfig.ContainerName),
		IgnoredUID:         aws.StringValue(proxyConfig.Properties[ignoredUID]),
		IgnoredGID:         aws.StringValue(proxyConfig.Properties[ignoredGID]),
		ProxyIngressPort:   aws.StringValue(proxyConfig.Properties[proxyIngressPort]),
		ProxyEgressPort:    aws.StringValue(proxyConfig.Properties[proxyEgressPort]),
		AppPorts:           buildAppPorts(proxyConfig),
		EgressIgnoredIPs:   buildEgressIgnoredIPs(proxyConfig),
		EgressIgnoredPorts: buildEgressIgnoredPorts(proxyConfig),
	}, nil
}
func AppMeshFromACS(proxyConfig *ecsacs.ProxyConfiguration) (*AppMesh, error) {

	if *proxyConfig.Type != appMesh {
		return nil, fmt.Errorf("agent does not support proxy type other than app mesh")
	}

	return &AppMesh{
		ContainerName:      aws.StringValue(proxyConfig.ContainerName),
		IgnoredUID:         aws.StringValue(proxyConfig.Properties[ignoredUID]),
		IgnoredGID:         aws.StringValue(proxyConfig.Properties[ignoredGID]),
		ProxyIngressPort:   aws.StringValue(proxyConfig.Properties[proxyIngressPort]),
		ProxyEgressPort:    aws.StringValue(proxyConfig.Properties[proxyEgressPort]),
		AppPorts:           buildAppPorts(proxyConfig),
		EgressIgnoredIPs:   buildEgressIgnoredIPs(proxyConfig),
		EgressIgnoredPorts: buildEgressIgnoredPorts(proxyConfig),
	}, nil
}
// AppMeshFromACS validates proxy config if it is app mesh type and creates AppMesh object